home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / games.arc / DRIVER.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  6.9 KB  |  192 lines

  1. 100  '***********************************************************************
  2. 110  '**            ASYNCHRONOUS COMMUNICATIONS ADAPTER DRIVER             **
  3. 120  '**                                                                   **
  4. 130  '**        VERSION 1.1                           4 JULY, 1982         **
  5. 140  '***********************************************************************
  6. 150  '
  7. 160  SCREEN 0 : WIDTH 80 : KEY OFF : CLS
  8. 170  PRINT "SELECT THE COMMUNICATIONS MODE DESIRED BY NUMBER
  9. 180  PRINT "THEN PRESS ENTER
  10. 190  PRINT
  11. 200  PRINT "1 =     300 BAUD     7 BIT     NO PARITY     1 STOP BIT
  12. 210  PRINT "2 =     300 BAUD     8 BIT     NO PARITY     1 STOP BIT
  13. 220  PRINT "3 =     CUSTOMIZED   SETUP     NEW MODE OF OPERATIONS
  14. 230  PRINT "4 =     PERSONALIZED SETUP     OLD MODE OF OPERATIONS
  15. 240  PRINT
  16. 250  PRINT "NOTE : SELECTION #1 IS THE MODE USED BY MANY TIME-SHAREING SYSTEMS
  17. 260  PRINT
  18. 270  INPUT SELECT
  19. 280  ON SELECT GOTO 300,400,500,2000
  20. 290  INPUT "INCORRECT SELECTION - TRY AGAIN - ":GOTO 270
  21. 300  '
  22. 310  '***********************************************************************
  23. 320  '**                      SELECTION #1                                 **
  24. 330  '***********************************************************************
  25. 340  CLEAR : POKE 106,0                ' CLEAR THE KEYBOARD BUFFER
  26. 350  OUT &H3FB,&H80                    ' ACCESS THE DIVISOR LATCHES
  27. 360  OUT &H3F8,&H80                    ' LSB OF BAUD RATE DIVISOR
  28. 370  OUT &H3F9,&H1                     ' MSB FOR -300 BAUD-
  29. 380  OUT &H3FB,&H2                     ' ACCESS TX AND RX - 7 BIT - NO PARITY
  30. 390  GOTO 3000
  31. 400  '
  32. 410  '***********************************************************************
  33. 420  '**                      SELECTION #2                                 **
  34. 430  '***********************************************************************
  35. 440  CLEAR : POKE 106,0                ' CLEAR THE KEYBOARD BUFFER
  36. 450  OUT &H3FB,&H80                    ' ACCESS THE DIVISOR LATCHES
  37. 460  OUT &H3F8,&H80                    ' LSB OF BAUD RATE DIVISOR
  38. 470  OUT &H3F9,&H1                     ' MSB FOR -300 BAUD-
  39. 480  OUT &H3FB,&H3                     ' ACCESS TX AND RX - 8 BIT - NO PARITY
  40. 490  GOTO 3000
  41. 500  '
  42. 510  '***********************************************************************
  43. 520  '**                      SELECTION #3                                 **
  44. 530  '***********************************************************************
  45. 540  CLS
  46. 550  PRINT "CUSTOMIZED SETUP PROCEDURES
  47. 560  PRINT
  48. 570  PRINT "SELECT THE BAUD RATE DESIRED -
  49. 580  PRINT
  50. 590  PRINT " 1 =       50   BAUD
  51. 600  PRINT " 2 =       75   BAUD
  52. 610  PRINT " 3 =      110   BAUD
  53. 620  PRINT " 4 =      134.5 BAUD
  54. 630  PRINT " 5 =      150   BAUD
  55. 640  PRINT " 6 =      300   BAUD
  56. 650  PRINT " 7 =      600   BAUD
  57. 660  PRINT " 8 =     1200   BAUD
  58. 670  PRINT " 9 =     1800   BAUD
  59. 680  PRINT "10 =     2000   BAUD
  60. 690  PRINT "11 =     2400   BAUD
  61. 700  PRINT "12 =     3600   BAUD
  62. 710  PRINT "13 =     4800   BAUD
  63. 720  PRINT "14 =     7200   BAUD
  64. 730  PRINT "15 =     9600   BAUD
  65. 740  PRINT
  66. 750  INPUT RATE
  67. 760  ON RATE GOTO 780,790,800,810,820,830,840,850,860,870,880,890,900,910,920
  68. 770  PRINT "ERROR ON BAUD RATE - SELECT AGAIN - ";:GOTO 740
  69. 780  CLS : MSB = &H9 : LSB = &H0  : BAUD =   50   : GOTO 930
  70. 790  CLS : MSB = &H6 : LSB = &H0  : BAUD =   75   : GOTO 930
  71. 800  CLS : MSB = &H4 : LSB = &H17 : BAUD =  110   : GOTO 930
  72. 810  CLS : MSB = &H3 : LSB = &H59 : BAUD =  134.5 : GOTO 930
  73. 820  CLS : MSB = &H3 : LSB = &H0  : BAUD =  150   : GOTO 930
  74. 830  CLS : MSB = &H1 : LSB = &H80 : BAUD =  300   : GOTO 930
  75. 840  CLS : MSB = &H0 : LSB = &HC0 : BAUD =  600   : GOTO 930
  76. 850  CLS : MSB = &H0 : LSB = &H60 : BAUD = 1200   : GOTO 930
  77. 860  CLS : MSB = &H0 : LSB = &H40 : BAUD = 1800   : GOTO 930
  78. 870  CLS : MSB = &H0 : LSB = &H3A : BAUD = 2000   : GOTO 930
  79. 880  CLS : MSB = &H0 : LSB = &H30 : BAUD = 2400   : GOTO 930
  80. 890  CLS : MSB = &H0 : LSB = &H20 : BAUD = 3600   : GOTO 930
  81. 900  CLS : MSB = &H0 : LSB = &H18 : BAUD = 4800   : GOTO 930
  82. 910  CLS : MSB = &H0 : LSB = &H10 : BAUD = 7200   : GOTO 930
  83. 920  CLS : MSB = &H0 : LSB = &HC  : BAUD = 9600   : GOTO 930
  84. 930  '
  85. 940  PRINT "SELECT THE WORD LENGTH DESIRED -
  86. 950  PRINT
  87. 960  PRINT " 1 =       5 BITS
  88. 970  PRINT " 2 =       6 BITS
  89. 980  PRINT " 3 =       7 BITS
  90. 990  PRINT " 4 =       8 BITS
  91. 1000  PRINT
  92. 1010  INPUT WORDLENGTH
  93. 1020  ON WORDLENGTH GOTO 1040,1050,1060,1070
  94. 1030  PRINT "ERROR ON WORD LENGTH - SELECT AGAIN - ";:GOTO 1010
  95. 1040  CLS : BITS10 = 0 : GOTO 1080
  96. 1050  CLS : BITS10 = 1 : GOTO 1080
  97. 1060  CLS : BITS10 = 2 : GOTO 1080
  98. 1070  CLS : BITS10 = 3 : GOTO 1080
  99. 1080  '
  100. 1090  PRINT "SELECT THE NUMBER OF STOP BITS YOU DESIRE -
  101. 1100  PRINT
  102. 1110  PRINT " 1 =      1 STOP BIT FOR ALL WORD LENGTHS SELECTED
  103. 1120  PRINT
  104. 1130  PRINT " 2 =      1 1/2 STOP BITS IF 5   BIT WORD SELECTED OR
  105. 1140  PRINT "          2     STOP BITS IF 6-8 BIT WORD SELECTED
  106. 1150  PRINT
  107. 1160  INPUT STOPBITS
  108. 1170  ON STOPBITS GOTO 1190,1200
  109. 1180  PRINT "ERROR ON SELECTION - PLEASE SELECT AGAIN - ";:GOTO 1160
  110. 1190  CLS : BIT2 = 0 : GOTO 1210
  111. 1200  CLS : BIT2 = 4 : GOTO 1210
  112. 1210  '
  113. 1220  PRINT "DO YOU WANT A PARITY BIT ?
  114. 1230  PRINT
  115. 1240  PRINT " 1 =       NO
  116. 1250  PRINT " 2 =       YES
  117. 1260  PRINT
  118. 1270  INPUT PARITY
  119. 1280  ON PARITY GOTO 1300,1310
  120. 1290  PRINT "ERROR ON SELECTION - PLEASE SELECT AGAIN - ";:GOTO 1270
  121. 1300  CLS : BITS543 = 0 : GOTO 1540
  122. 1310  PRINT
  123. 1320  PRINT "DO YOU WANT ODD,  EVEN,  OR STICK PARITY ?
  124. 1330  PRINT
  125. 1340  PRINT " 1 =       ODD
  126. 1350  PRINT " 2 =       EVEN
  127. 1360  PRINT " 3 =       STICK  (ALWAYS ON OR OFF)
  128. 1370  PRINT
  129. 1380  INPUT PARITY
  130. 1390  ON PARITY GOTO 1410,1420,1430
  131. 1400  PRINT "ERROR ON SELECTION - PLEASE SELECT AGAIN - ";:GOTO 1380
  132. 1410  CLS : BITS543 =  8 : GOTO 1540
  133. 1420  CLS : BITS543 = 24 : GOTO 1540
  134. 1430  PRINT
  135. 1440  PRINT "DO YOU WANT THE PARITY ALWAYS SET TO A 1 OR 0 ?
  136. 1450  PRINT
  137. 1460  PRINT " 1 =        0  (ALWAYS)
  138. 1470  PRINT " 2 =        1  (ALWAYS)
  139. 1480  PRINT
  140. 1490  INPUT PARITY
  141. 1500  ON PARITY GOTO 1520,1530
  142. 1510  PRINT "ERROR ON SELECTION - PLEASE SELECT AGAIN - ";:GOTO 1490
  143. 1520  CLS : BITS543 = 56 : GOTO 1540
  144. 1530  CLS : BITS543 = 40 : GOTO 1540
  145. 1540  '
  146. 1550  PRINT "IF THIS IS THE MODE YOU WANT FOR YOUR PERSONALIZED SETUP -
  147. 1560  PRINT
  148. 1570  PRINT "REPLACE THE VALUES IN THE LISTING FOR 2060-2080 WITH THESE -
  149. 1580  PRINT "2060 OUT &H3F8,LSB  (REPLACE LSB) WITH ";LSB
  150. 1590  PRINT "2070 OUT &H3F9,MSB  (REPLACE MSB) WITH ";MSB
  151. 1600  PRINT "2080 OUT &H3FB,LCR  (REPLACE LCR) WITH ";BITS10+BIT2+BITS543
  152. 1610  PRINT
  153. 1620  PRINT "AND RESAVE A COPY OF THIS PROGRAM OR JUST LINES 2000 TO 2080
  154. 1630  POKE 106,0
  155. 1640  OUT &H3FB,&H80
  156. 1650  OUT &H3F8,LSB
  157. 1660  OUT &H3F9,MSB
  158. 1670  OUT &H3FB,BITS10+BIT2+BITS543
  159. 1680  GOTO 3000
  160. 2000  '**********************************************************************
  161. 2010  '**                 PERSONALIZED DRIVER ROUTINE                      **
  162. 2020  '**********************************************************************
  163. 2030  '
  164. 2040  CLEAR : POKE 106,0
  165. 2050  OUT &H3FB,&H80
  166. 2060  OUT &H3F8,LSB
  167. 2070  OUT &H3F9,MSB
  168. 2080  OUT &H3FB,LCR
  169. 3000  '
  170. 3010  PRINT
  171. 3020  PRINT "WOULD YOU LIKE A SIMPLE DRIVER FOR COMMUNICATIONS ?
  172. 3030  PRINT
  173. 3040  PRINT "IF YOU SELECT YES, THIS SEGMENT WILL CLEAR THE SCREEN AND
  174. 3050  PRINT "HOOK YOU TO THE MODEM OR OTHER DEVICE.
  175. 3060  PRINT
  176. 3070  PRINT " 1 =         YES
  177. 3080  PRINT " 2 =          NO
  178. 3090  PRINT
  179. 3100  INPUT DRIVER
  180. 3110  ON DRIVER GOTO 3130,3140
  181. 3120  PRINT "ERROR ON SELECTION - PLEASE SELECT AGAIN ";:GOTO 3100
  182. 3130  CLS : GOTO 4000
  183. 3140  PRINT "BYE ";:END
  184. 4000  '**********************************************************************
  185. 4010  '**             KEYBOARD DRIVER FOR COMMUNICATION                    **
  186. 4020  '**********************************************************************
  187. 4030  '
  188. 4040  CLEAR : POKE 106,0 : DEFINT A-Z
  189. 4050  IF (INP(1021) AND 1) <> 0 THEN D = INP(1016) : PRINT CHR$(D);
  190. 4060  A$ = INKEY$ : IF A$ = "" THEN 4050
  191. 4070  IF (INP(1021) AND 32) = 0 THEN 4070 ELSE OUT 1016,ASC(A$):PRINT A$; :GOTO 4050
  192.